#!/bin/sh
############################################################################################
## Copyright 2003, 2015 IBM Corp                                                          ##
##                                                                                        ##
## Redistribution and use in source and binary forms, with or without modification,       ##
## are permitted provided that the following conditions are met:                          ##
##      1.Redistributions of source code must retain the above copyright notice,          ##
##        this list of conditions and the following disclaimer.                           ##
##      2.Redistributions in binary form must reproduce the above copyright notice, this  ##
##        list of conditions and the following disclaimer in the documentation and/or     ##
##        other materials provided with the distribution.                                 ##
##                                                                                        ##
## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS AND ANY EXPRESS       ##
## OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF        ##
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ##
## THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,    ##
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF     ##
## SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ##
## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,  ##
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS  ##
## SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                           ##
############################################################################################
## File :        glib2.sh
##
## Description:  Test glib2 package
##
## Author:       rende@cn.ibm.com
###########################################################################################
## source the utility functions

#cd `dirname $0`
#LTPBIN=${LTPBIN%/shared}/glib2
source $LTPBIN/tc_utils.source
testdir=${LTPBIN%/shared}/glib2/glib/tests 

function tc_local_setup()
{
	tc_add_user_or_break
}

function runtests() {
	pushd $testdir &>/dev/null
	#Excluding directories like - bookmarks and markups. Also 4096-random-byte file is required by mappedfile test 
	TESTS=`ls | egrep -v '(*\.ini|*\.xbel|*\.c|bookmarks|markups|4096-random-bytes|\
		echo-script|echo-script.bat|mkdir-test)$'`
	TST_TOTAL=`echo $TESTS | wc -w` 
	for test in $TESTS; do
		tc_register "Test $test"
		if [ $test = "fileutils" ];then
			#This test should run as non-root user
			su - $TC_TEMP_USER -c "$testdir/$test" >$stdout
			tc_pass_or_fail $? "Test $test fail"
		else
			./$test >$stdout 2>$stderr
			tc_pass_or_fail $? "Test $test fail"
		fi
	done
	popd &>/dev/null

}

function tc_local_cleanup()
{
	#Delete temporary files generated by test binary
	rm $testdir/key_file_*
}
####################################################################################
# MAIN
####################################################################################

# Function:     main
#
# Description:  - Execute all tests, report results
#
# Exit:         - zero on success
#               - non-zero on failure
#

tc_setup
tc_run_me_only_once

runtests
